///////////////////////////////////////////////////////////////////// // "On the torsion of rational elliptic curves over sextic fields" // // Harris B. Daniels and Enrique González-Jiménez // ///////////////////////////////////////////////////////////////////// // 2/8/2018 - Magma 2.23 // Magma script related to Theorem 2 (ii) and (iii) //j3 is the j-map from X_0(3) to P1 taken from Zywina, On the possible images of the //mod l representations associated to elliptic curves over Q. //j5 is the j-map from X_{G_6} to P1 taken from Theorem 1.4 of Zywina, On the //possible images of the mod l representations associated to elliptic curves over Q. //The curve corresponds to the group 5B.4.1 in Sutherland notation. F := FunctionField(Rationals()); j3 := 27*(t+1)*(t+9)^3*t^-3; j5 := (t^4-12*t^3+14*t^2+12*t+1)^3*t^-5*(t^2-11*t-1)^-1; R:=PolynomialRing(Rationals(),2); g:=Numerator(Evaluate(j3,x)-Evaluate(j5,y)); assert IsIrreducible(g); C:=ProjectiveClosure(Curve(AffineSpace(R),g)); Genus(C); P :=C![0,1,0]; E, map := EllipticCurve(C,P); assert Rank(E) eq 0; assert CremonaReference(E) eq "15a3"; T,mp := TorsionSubgroup(E); assert #T eq 8; EPts := [mp(t) : t in T]; CPts := {@ @}; for p in EPts do CPts := CPts join RationalPoints(p @@ map); end for; T3 := {@ Q[1] : Q in CPts | Q[3] ne 0 and Q[2] ne 0@}; //For each of these j-invariants from Zywina there are unique twists that have a //rational point of order 3. These curves have G_E(3) equal to 3B.1.1. Using the fine //models in Zywina, On the possible images of the mod l representations associated to //elliptic curves over Q, we compute each curve. A3 := -3*(t+1)^3*(t+9); B3 := -2*(t+1)^4*(t^2-18*t-27); Pairs3 := {@ [Evaluate(A3,h),Evaluate(B3,h)] : h in T3 @}; E3s := [EllipticCurve(pair) : pair in Pairs3]; Crem3 := {@ CremonaReference(E) : E in E3s @}; assert Crem3 eq {@ "450b4", "50a3" @}; /* Since these curves have a point of order 15 over a quadratic extension clearly they have a point of order 30 over a sextic extension as well as a point of order 15 over all other sextics.*/ E1 := EllipticCurve("450b4"); E2 := EllipticCurve("50a3"); f11 := Polynomial([16,24,10,-5,-5,-1,1]); f12 := Polynomial([]); f21 := Polynomial([-1,-2,0,0,0,-2,1]); f22 := Polynomial([]); K11 := NumberField(f11); K21 := NumberField(f21); EK1 := ChangeRing(E1,K1); EK2 := ChangeRing(E2,K2); assert IsIsomorphic(AbelianGroup([30]),TorsionSubgroup(EK1)); assert IsIsomorphic(AbelianGroup([30]),TorsionSubgroup(EK2)); // (5) ——> (15) & (30) /* To have a rational point of order 5 we now have the same curve, but we specialize to a different elliptic model */ T5 := {@ Q[2] : Q in CPts | Q[3] ne 0 and Q[2] ne 0@}; //For each of these j-invariants from Zywina there are unique twists that have a //rational point of order 5. These curves have G_E(5) equal to 5B.1.1. Using the fine //models in Zywina, On the possible images of the mod l representations associated to //elliptic curves over Q, we compute each curve. A5 := -27*(t^4 - 12*t^3+14*t^2+12*t+1); B5 := 54*(t^6-18*t^5+75*t^4+75*t^2+18*t+1); Pairs5 := {@ [Evaluate(A5,h),Evaluate(B5,h)] : h in T5 @}; E5s := [EllipticCurve(pair) : pair in Pairs5]; Crem5 := {@ CremonaReference(E) : E in E5s @}; assert Crem5 eq {@ "50b1", "50b2" @}; /* Again, since these curves have a point of order 15 over a quadratic extension clearly they have a point of order 30 over a sextic extension as well as a point of order 15 over all other sextics, but this time there are also independent sextic with a point of order 15 that we include here.*/ E1 := EllipticCurve("50b1"); E2 := EllipticCurve("50b2"); f11 := Polynomial([-1,-2,0,0,0,-2,1]); f12 := Polynomial([6,-6,10,-5,5,-1,1]); f21 := Polynomial([16,24,10,-5,-5,-1,1]); f22 := Polynomial([-5,0,0,0,0,0,1]); K11 := NumberField(f11); K12 := NumberField(f12); K21 := NumberField(f21); K22 := NumberField(f22); EK11 := ChangeRing(E1,K11); EK12 := ChangeRing(E1,K12); EK21 := ChangeRing(E2,K21); EK22 := ChangeRing(E2,K22); assert IsIsomorphic(AbelianGroup([30]),TorsionSubgroup(EK11)); assert IsIsomorphic(AbelianGroup([15]),TorsionSubgroup(EK12)); assert IsIsomorphic(AbelianGroup([30]),TorsionSubgroup(EK21)); assert IsIsomorphic(AbelianGroup([15]),TorsionSubgroup(EK22));